<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>RRRSRoguelike: C:/Users/Andrew Sadler/Desktop/Sync/RRRS Rogue/0-5a/rrrsroguelike/RRRSRoguelike/Screens/DungeonScreen.cs Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.7.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="RRRSRoguelike.ico"></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">RRRSRoguelike&#160;<span id="projectnumber">0.5.0.</span></div>
   <div id="projectbrief">This is a Roguelike C# game that has a really simple goal - pickup a sword and kill the monster(s). Of course if you don't pickup the sword you can guess what happens.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>C:/Users/Andrew Sadler/Desktop/Sync/RRRS Rogue/0-5a/rrrsroguelike/RRRSRoguelike/Screens/DungeonScreen.cs</h1>  </div>
</div>
<div class="contents">
<a href="_dungeon_screen_8cs.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 ﻿using System;
<a name="l00002"></a>00002 <span class="keyword">using</span> System.Collections.Generic;
<a name="l00003"></a>00003 <span class="keyword">using</span> System.Linq;
<a name="l00004"></a>00004 <span class="keyword">using</span> System.Text;
<a name="l00005"></a>00005 <span class="keyword">using</span> RRRSRoguelike.Enums;
<a name="l00006"></a>00006 <span class="keyword">using</span> RRRSRoguelike.Managers;
<a name="l00007"></a>00007 <span class="keyword">using</span> RRRSRoguelike.Entities;
<a name="l00008"></a>00008 <span class="keyword">using</span> System.Drawing;
<a name="l00009"></a>00009 <span class="keyword">using</span> System.Threading;
<a name="l00010"></a>00010 <span class="keyword">using</span> RRRSRoguelike.Helpers;
<a name="l00011"></a>00011 <span class="keyword">using</span> RRRSRoguelike.Helpers.Actions;
<a name="l00012"></a>00012 <span class="keyword">using</span> RRRSRoguelike.Helpers.Visualizer;
<a name="l00013"></a>00013 <span class="keyword">using</span> RRRSRoguelikeData;
<a name="l00014"></a>00014 <span class="keyword">using</span> System.IO;
<a name="l00015"></a>00015 
<a name="l00016"></a>00016 <span class="keyword">namespace </span>RRRSRoguelike.Screens
<a name="l00017"></a>00017 {
<a name="l00021"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html">00021</a>     <span class="keyword">class </span><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html" title="Contains the main game logic.">DungeonScreen</a>:<a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_screen.html">Screen</a>
<a name="l00022"></a>00022     {
<a name="l00023"></a>00023 
<a name="l00024"></a>00024 <span class="preprocessor">        #region variables             </span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>            
<a name="l00026"></a>00026             <span class="comment">//makes calls shorter</span>
<a name="l00027"></a>00027             <span class="keyword">private</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html" title="Player inherits from creature.">Player</a> player;
<a name="l00028"></a>00028             
<a name="l00029"></a>00029             <span class="keyword">private</span> <span class="keywordtype">bool</span> hasJumped = <span class="keyword">false</span>;
<a name="l00030"></a>00030             <span class="keyword">private</span> <span class="keywordtype">bool</span> hasFired = <span class="keyword">false</span>;
<a name="l00031"></a>00031             
<a name="l00032"></a>00032             <span class="keyword">private</span> <span class="keywordtype">int</span> seed;
<a name="l00033"></a>00033             
<a name="l00034"></a>00034             <span class="keyword">private</span> <span class="keywordtype">bool</span> playerMoved;
<a name="l00035"></a>00035             <span class="keyword">private</span> <span class="keywordtype">bool</span> processMonsters;
<a name="l00036"></a>00036             
<a name="l00037"></a>00037             <span class="keyword">private</span> <span class="keywordtype">bool</span> drawPanels = <span class="keyword">true</span>;
<a name="l00038"></a>00038             
<a name="l00039"></a>00039             <span class="keyword">private</span> <span class="keywordtype">bool</span> Exit;
<a name="l00040"></a>00040 
<a name="l00041"></a>00041 <span class="preprocessor">        # endregion</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043 <span class="preprocessor">        #region constructors</span>
<a name="l00044"></a>00044 <span class="preprocessor"></span>        
<a name="l00045"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html#a7f2ce922ecac97aa11c3d922b08b7296">00045</a>         <span class="keyword">public</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html" title="Contains the main game logic.">DungeonScreen</a>(<span class="keywordtype">int</span> seed = -1)
<a name="l00046"></a>00046         {
<a name="l00047"></a>00047                         this.seed = seed;       
<a name="l00048"></a>00048                 
<a name="l00049"></a>00049             SetupPanels();
<a name="l00050"></a>00050         }
<a name="l00051"></a>00051 
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="preprocessor">        #endregion</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00055"></a>00055 <span class="preprocessor">        #region methods</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00057"></a>00057         <span class="keyword">private</span> <span class="keywordtype">void</span> StartGame(<span class="keywordtype">int</span> seed = -1)
<a name="l00058"></a>00058         {
<a name="l00059"></a>00059             InitializeManagers(seed);
<a name="l00060"></a>00060 
<a name="l00061"></a>00061             LoadContent();
<a name="l00062"></a>00062             <a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_text_screen.html">TextScreen</a> s = <span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_text_screen.html">TextScreen</a>(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a15b31f5dc1e828c96b595ec09c426614">Texts</a>[<span class="stringliteral">&quot;Welcome&quot;</span>]);
<a name="l00063"></a>00063             s.<a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_text_screen.html#a933717e1cdbad1c2b48752b731dcaef7">Show</a>();
<a name="l00064"></a>00064 
<a name="l00065"></a>00065             ResetBools();
<a name="l00066"></a>00066             
<a name="l00067"></a>00067             InitialDraw();
<a name="l00068"></a>00068 
<a name="l00069"></a>00069             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a1c0d99b7b7f07d21cce2dd1696af6206">Player</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a155614c56e6eb20b6bec21b83915a6b6">WeaponChanged</a> += updateUses;
<a name="l00070"></a>00070             
<a name="l00071"></a>00071             <span class="comment">//-----------------------------------------------------------------</span>
<a name="l00072"></a>00072             MainGameLoop();
<a name="l00073"></a>00073             <span class="comment">//-----------------------------------------------------------------</span>
<a name="l00074"></a>00074         }
<a name="l00075"></a>00075 
<a name="l00076"></a>00076         <span class="keyword">private</span> <span class="keywordtype">void</span> LoadContent()
<a name="l00077"></a>00077         {
<a name="l00078"></a>00078                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a336d196293f34d0529ea1e6d119937b9">SoundManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_sound_manager.html#a46c3d8b8c1432f4fa32036fd038e8a4c">AddCustomSound</a>(<span class="stringliteral">&quot;Battle&quot;</span>,<span class="stringliteral">&quot;Battle.wav&quot;</span>);
<a name="l00079"></a>00079         }
<a name="l00080"></a>00080         
<a name="l00081"></a>00081         <span class="keyword">private</span> <span class="keywordtype">void</span> MainGameLoop()
<a name="l00082"></a>00082         {
<a name="l00083"></a>00083             <span class="keywordflow">while</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#af7180ad96a3853f29c9375b9d7b71af1">IsGameActive</a>)
<a name="l00084"></a>00084             {
<a name="l00085"></a>00085                 
<a name="l00086"></a>00086                 <span class="comment">//read input                </span>
<a name="l00087"></a>00087                 ProcessInput();
<a name="l00088"></a>00088                 <span class="keywordflow">if</span> (Exit)
<a name="l00089"></a>00089                         <span class="keywordflow">return</span>;
<a name="l00090"></a>00090 
<a name="l00091"></a>00091                 <span class="comment">//do logic</span>
<a name="l00092"></a>00092                 DoLogic();
<a name="l00093"></a>00093                 
<a name="l00094"></a>00094                 
<a name="l00095"></a>00095                 <span class="comment">//Draw</span>
<a name="l00096"></a>00096                 DoDraw();
<a name="l00097"></a>00097 
<a name="l00098"></a>00098             }
<a name="l00099"></a>00099             
<a name="l00100"></a>00100             
<a name="l00101"></a>00101             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#a475ef30076cee3e3589c93b75adbefd0" title="A basic screen manager.">ScreenStack</a>.Push(<span class="keyword">new</span> ReplayScreen());
<a name="l00102"></a>00102             AddVictoryScreen();           
<a name="l00103"></a>00103             
<a name="l00104"></a>00104         }
<a name="l00105"></a>00105         
<a name="l00106"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html#a818913cef1c3b90f53a6dd309839318b">00106</a>         <span class="keyword">public</span> <span class="keywordtype">void</span> GetInput()
<a name="l00107"></a>00107         {
<a name="l00108"></a>00108             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#af31be58b170d5b755950db442651d701" title="handles all input">InputManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_input_manager.html#aef4f665f3c01347f55fcc0f55c00aafe">ReadKeys</a>();   
<a name="l00109"></a>00109         }
<a name="l00110"></a>00110 
<a name="l00111"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html#a5971f4447e4497197d39877002fe9a1c">00111</a>         <span class="keyword">public</span> <span class="keywordtype">void</span> DoLogic()
<a name="l00112"></a>00112         {
<a name="l00113"></a>00113             <span class="comment">//Can later be part of the prop manager perhaps or the fireball itself</span>
<a name="l00114"></a>00114             <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html">Fireball</a> fireball = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a9c05d7d672ffe1129dfaee0cbd50bf5a">Fireball</a>;
<a name="l00115"></a>00115             <span class="keywordflow">if</span> (fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a>)
<a name="l00116"></a>00116                 ProcessFireball(fireball);
<a name="l00117"></a>00117 
<a name="l00118"></a>00118             <span class="comment">// does things like auto pick up sword and take stairs</span>
<a name="l00119"></a>00119             <span class="keywordflow">if</span> (playerMoved)
<a name="l00120"></a>00120                 CheckNewTile();
<a name="l00121"></a>00121 
<a name="l00122"></a>00122             <span class="keywordflow">if</span> (processMonsters)
<a name="l00123"></a>00123             {
<a name="l00124"></a>00124                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a7274821ba30a55edfdc3086ee9c805c0">ProcessMonsters</a>();
<a name="l00125"></a>00125             }
<a name="l00126"></a>00126         }
<a name="l00127"></a>00127 
<a name="l00128"></a>00128         <span class="keyword">private</span> <span class="keywordtype">void</span> DoDraw()
<a name="l00129"></a>00129         {
<a name="l00130"></a>00130             <span class="keywordflow">if</span> (drawPanels)
<a name="l00131"></a>00131             {
<a name="l00132"></a>00132                 <span class="keywordflow">foreach</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html" title="Contains the code for displaying text within the game panels.">Panel</a> p <span class="keywordflow">in</span> PanelList)
<a name="l00133"></a>00133                     p.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html#a5eae49d4c961cdaeed98cf17f2b2502d">Draw</a>();
<a name="l00134"></a>00134 
<a name="l00135"></a>00135                 drawPanels = <span class="keyword">false</span>;
<a name="l00136"></a>00136             }
<a name="l00137"></a>00137             DisplayHUD();
<a name="l00138"></a>00138 
<a name="l00139"></a>00139             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a4568e5e5bd33ed0b6b9aa4b0ee48ea27" title="Prepares tiles and calls the visualizer.">DrawDungeon</a>();
<a name="l00140"></a>00140         }
<a name="l00141"></a>00141 
<a name="l00142"></a>00142         <span class="keyword">private</span> <span class="keywordtype">void</span> ProcessInput()
<a name="l00143"></a>00143         {
<a name="l00144"></a>00144                 processMonsters = <span class="keyword">true</span>;
<a name="l00145"></a>00145             playerMoved = <span class="keyword">true</span>;
<a name="l00146"></a>00146             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a0cc23d92d5e5c486c15aa9cc92b01f9b">Redraw</a> = <span class="keyword">true</span>;
<a name="l00147"></a>00147             
<a name="l00148"></a>00148             GetInput();
<a name="l00149"></a>00149                 
<a name="l00150"></a>00150             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html" title="Stores a list of actions along with the keys mapped to those actions Checks action map against the in...">ActionManager</a> <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html" title="Stores a list of actions along with the keys mapped to those actions Checks action map against the in...">ActionManager</a> = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a03e6a7a4819710c00a58efe79b98c7ec">ActionManager</a>;
<a name="l00151"></a>00151             <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html" title="Player inherits from creature.">Player</a> player = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a1c0d99b7b7f07d21cce2dd1696af6206">Player</a>;
<a name="l00152"></a>00152 
<a name="l00153"></a>00153             <span class="comment">//This checks until one is true as we can only have on action press.</span>
<a name="l00154"></a>00154             <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.North))
<a name="l00155"></a>00155                 playerMoved = processMonsters = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a044e21a565f33c485cc3371f9393dd64">MovePlayer</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.N);
<a name="l00156"></a>00156             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.South))
<a name="l00157"></a>00157                 playerMoved = processMonsters = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a044e21a565f33c485cc3371f9393dd64">MovePlayer</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.S);
<a name="l00158"></a>00158             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.East))
<a name="l00159"></a>00159                 playerMoved = processMonsters = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a044e21a565f33c485cc3371f9393dd64">MovePlayer</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.E);
<a name="l00160"></a>00160             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.West))
<a name="l00161"></a>00161                 playerMoved = processMonsters = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a044e21a565f33c485cc3371f9393dd64">MovePlayer</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.W);
<a name="l00162"></a>00162             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Jump))
<a name="l00163"></a>00163             {
<a name="l00164"></a>00164                 DoJump();
<a name="l00165"></a>00165             }
<a name="l00166"></a>00166             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Shoot))
<a name="l00167"></a>00167             {
<a name="l00168"></a>00168                 ShootFireball();
<a name="l00169"></a>00169             }
<a name="l00170"></a>00170             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Pick))
<a name="l00171"></a>00171             {
<a name="l00172"></a>00172                 ActionHelper.Get(player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>);
<a name="l00173"></a>00173                                 <span class="comment">//ugly hack!!!</span>
<a name="l00174"></a>00174                                 olduses = -1;
<a name="l00175"></a>00175                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00176"></a>00176             }
<a name="l00177"></a>00177             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Drop))
<a name="l00178"></a>00178             {
<a name="l00179"></a>00179                 ActionHelper.Put(player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>);
<a name="l00180"></a>00180 
<a name="l00181"></a>00181                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00182"></a>00182             }
<a name="l00183"></a>00183             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Look))
<a name="l00184"></a>00184             {
<a name="l00185"></a>00185                 DoLook();
<a name="l00186"></a>00186 
<a name="l00187"></a>00187                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00188"></a>00188             }
<a name="l00189"></a>00189             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Wait))
<a name="l00190"></a>00190             {
<a name="l00191"></a>00191                 playerMoved = <span class="keyword">false</span>;
<a name="l00192"></a>00192             }
<a name="l00193"></a>00193             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Quit))
<a name="l00194"></a>00194             {
<a name="l00195"></a>00195                 QuitScreen s = <span class="keyword">new</span> QuitScreen();
<a name="l00196"></a>00196                 <span class="keywordflow">if</span> (s.ShowYesNo())
<a name="l00197"></a>00197                 {
<a name="l00198"></a>00198                         Exit = <span class="keyword">true</span>;
<a name="l00199"></a>00199                 }
<a name="l00200"></a>00200                 <span class="keywordflow">else</span>
<a name="l00201"></a>00201                 {
<a name="l00202"></a>00202                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a6c7074f866fef52dfee423881ff59aea">DungeonVisualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#a2d0f280f480ff5a227f4d8be84ad752a">ForceFullVisualization</a>(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>);
<a name="l00203"></a>00203                 }
<a name="l00204"></a>00204                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00205"></a>00205             }
<a name="l00206"></a>00206             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Help))
<a name="l00207"></a>00207             {
<a name="l00208"></a>00208                 TextScreen hs = <span class="keyword">new</span> TextScreen(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a15b31f5dc1e828c96b595ec09c426614">Texts</a>[<span class="stringliteral">&quot;Help&quot;</span>]);
<a name="l00209"></a>00209                 hs.Show();
<a name="l00210"></a>00210                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a6c7074f866fef52dfee423881ff59aea">DungeonVisualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#a2d0f280f480ff5a227f4d8be84ad752a">ForceFullVisualization</a>(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>);
<a name="l00211"></a>00211                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00212"></a>00212             }
<a name="l00213"></a>00213             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.FollowToggle))
<a name="l00214"></a>00214             {
<a name="l00215"></a>00215                 <span class="comment">//Toggle sound</span>
<a name="l00216"></a>00216                 <span class="keywordflow">if</span> (Properties.Settings.Default.FollowToggle)
<a name="l00217"></a>00217                     Properties.Settings.Default.FollowToggle = <span class="keyword">false</span>;
<a name="l00218"></a>00218                 <span class="keywordflow">else</span>
<a name="l00219"></a>00219                 {
<a name="l00220"></a>00220                     Properties.Settings.Default.FollowToggle = <span class="keyword">true</span>;
<a name="l00221"></a>00221                 }
<a name="l00222"></a>00222                 Properties.Settings.Default.Save();
<a name="l00223"></a>00223 
<a name="l00224"></a>00224                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00225"></a>00225 
<a name="l00226"></a>00226             }
<a name="l00227"></a>00227             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.SoundToggle))
<a name="l00228"></a>00228             {
<a name="l00229"></a>00229                 <span class="comment">//Toggle sound</span>
<a name="l00230"></a>00230                 <span class="keywordflow">if</span> (Properties.Settings.Default.SoundToggle)
<a name="l00231"></a>00231                     Properties.Settings.Default.SoundToggle = <span class="keyword">false</span>;
<a name="l00232"></a>00232                 <span class="keywordflow">else</span>
<a name="l00233"></a>00233                 {
<a name="l00234"></a>00234                     Properties.Settings.Default.SoundToggle = <span class="keyword">true</span>;
<a name="l00235"></a>00235                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#ae8b9e0afd7774996e4af6023a6e48564" title="handles sound outside of a dungeon instance">SoundManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_sound_manager.html#ac5d6d423dc3f67a9e30ab376c8a93d14">PlaySound</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a54345c56384327c1be12d5bd380322ee">SoundList</a>.Pluck.ToString());
<a name="l00236"></a>00236                 }
<a name="l00237"></a>00237                 Properties.Settings.Default.Save();
<a name="l00238"></a>00238 
<a name="l00239"></a>00239                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00240"></a>00240 
<a name="l00241"></a>00241             }
<a name="l00242"></a>00242             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.ToggleGodMode))
<a name="l00243"></a>00243             {
<a name="l00244"></a>00244                 <span class="comment">//Toggle godmode</span>
<a name="l00245"></a>00245                 <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a8b4aa8dccad2a2034cbf5b52305df746">GodMode</a>)
<a name="l00246"></a>00246                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a8b4aa8dccad2a2034cbf5b52305df746">GodMode</a> = <span class="keyword">false</span>;
<a name="l00247"></a>00247                 <span class="keywordflow">else</span>
<a name="l00248"></a>00248                 {
<a name="l00249"></a>00249                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a8b4aa8dccad2a2034cbf5b52305df746">GodMode</a> = <span class="keyword">true</span>;
<a name="l00250"></a>00250                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#ae8b9e0afd7774996e4af6023a6e48564" title="handles sound outside of a dungeon instance">SoundManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_sound_manager.html#ac5d6d423dc3f67a9e30ab376c8a93d14">PlaySound</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a54345c56384327c1be12d5bd380322ee">SoundList</a>.Pluck.ToString());
<a name="l00251"></a>00251                 }
<a name="l00252"></a>00252 
<a name="l00253"></a>00253                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00254"></a>00254 
<a name="l00255"></a>00255             }
<a name="l00256"></a>00256             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.ChangeAnimationSpeed))
<a name="l00257"></a>00257             {
<a name="l00258"></a>00258                 Properties.Settings.Default.AnimationSpeed -= 10;
<a name="l00259"></a>00259                 <span class="keywordflow">if</span> (Properties.Settings.Default.AnimationSpeed &lt; 10)
<a name="l00260"></a>00260                     Properties.Settings.Default.AnimationSpeed = 100;
<a name="l00261"></a>00261 
<a name="l00262"></a>00262                 Properties.Settings.Default.Save();
<a name="l00263"></a>00263 
<a name="l00264"></a>00264                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#ae8b9e0afd7774996e4af6023a6e48564" title="handles sound outside of a dungeon instance">SoundManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_sound_manager.html#ac5d6d423dc3f67a9e30ab376c8a93d14">PlaySound</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a54345c56384327c1be12d5bd380322ee">SoundList</a>.Pluck.ToString());
<a name="l00265"></a>00265 
<a name="l00266"></a>00266                 processMonsters = playerMoved = <span class="keyword">false</span>;
<a name="l00267"></a>00267             }
<a name="l00268"></a>00268             <span class="keywordflow">else</span>
<a name="l00269"></a>00269             {
<a name="l00270"></a>00270                 processMonsters = playerMoved = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a0cc23d92d5e5c486c15aa9cc92b01f9b">Redraw</a> = <span class="keyword">false</span>;
<a name="l00271"></a>00271             }
<a name="l00272"></a>00272         }
<a name="l00273"></a>00273 
<a name="l00274"></a>00274         <span class="keyword">private</span> <span class="keywordtype">void</span> DoJump()
<a name="l00275"></a>00275         {
<a name="l00276"></a>00276             ActionManager ActionManager = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a03e6a7a4819710c00a58efe79b98c7ec">ActionManager</a>;
<a name="l00277"></a>00277                 <span class="keywordtype">bool</span> jump = <span class="keyword">true</span>;
<a name="l00278"></a>00278             PanelList[1].Clear();
<a name="l00279"></a>00279             <span class="keywordflow">if</span> (!hasJumped)
<a name="l00280"></a>00280             PanelList[1].Write(Properties.Strings.ChooseDirection,0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00281"></a>00281             <span class="keywordflow">else</span>
<a name="l00282"></a>00282             PanelList[1].Write(Properties.Strings.Used,0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00283"></a>00283                 
<a name="l00284"></a>00284             <span class="keywordflow">while</span> (jump)
<a name="l00285"></a>00285             {
<a name="l00286"></a>00286                 GetInput();
<a name="l00287"></a>00287                 <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a> direction = GetDirection();
<a name="l00288"></a>00288                 <span class="keywordflow">if</span> (direction != <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.Wait &amp;&amp; !hasJumped)
<a name="l00289"></a>00289                 {
<a name="l00290"></a>00290                     playerMoved = processMonsters = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#a044e21a565f33c485cc3371f9393dd64">MovePlayer</a>(direction, Constants.JumpDistance);
<a name="l00291"></a>00291                     jump = <span class="keyword">false</span>;
<a name="l00292"></a>00292                     hasJumped = <span class="keyword">true</span>;
<a name="l00293"></a>00293                 }
<a name="l00294"></a>00294                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Quit) || 
<a name="l00295"></a>00295                          ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Jump))
<a name="l00296"></a>00296                 {
<a name="l00297"></a>00297                         processMonsters = playerMoved = jump = <span class="keyword">false</span>;
<a name="l00298"></a>00298                         
<a name="l00299"></a>00299                 }
<a name="l00300"></a>00300 
<a name="l00301"></a>00301             }
<a name="l00302"></a>00302  
<a name="l00303"></a>00303         }
<a name="l00304"></a>00304 
<a name="l00305"></a>00305         <span class="keyword">private</span> <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a> GetDirection()
<a name="l00306"></a>00306         {
<a name="l00307"></a>00307                 ActionManager ActionManager = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a03e6a7a4819710c00a58efe79b98c7ec">ActionManager</a>;
<a name="l00308"></a>00308             <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a> direction;
<a name="l00309"></a>00309 
<a name="l00310"></a>00310             <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.North))
<a name="l00311"></a>00311                 direction = <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.N;
<a name="l00312"></a>00312             <span class="keywordflow">else</span> if (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.South))
<a name="l00313"></a>00313                 direction = <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.S;
<a name="l00314"></a>00314             <span class="keywordflow">else</span> if (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.East))
<a name="l00315"></a>00315                 direction = <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.E;
<a name="l00316"></a>00316             <span class="keywordflow">else</span> if (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.West))
<a name="l00317"></a>00317                 direction = <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.W;
<a name="l00318"></a>00318             <span class="keywordflow">else</span>
<a name="l00319"></a>00319                 direction = <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.Wait;
<a name="l00320"></a>00320 
<a name="l00321"></a>00321             <span class="keywordflow">return</span> direction;
<a name="l00322"></a>00322         }
<a name="l00323"></a>00323 
<a name="l00324"></a>00324         <span class="keyword">private</span> <span class="keywordtype">void</span> InitializeManagers(<span class="keywordtype">int</span> seed)
<a name="l00325"></a>00325         {
<a name="l00326"></a>00326             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#ad5f6f11a6dba7d11e52d22d59a278ef2" title="Initialize all the managers and set the flags.">Initialize</a>(seed);
<a name="l00327"></a>00327             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a77f5285c7306f7fb09e868660072c20a">DungeonScreen</a> = <span class="keyword">this</span>;
<a name="l00328"></a>00328             player = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a1c0d99b7b7f07d21cce2dd1696af6206">Player</a>;
<a name="l00329"></a>00329 
<a name="l00330"></a>00330             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#a4b74dbcced227542090efd7a7872086c" title="Game time per dungeon.">GameTime</a>.Restart();
<a name="l00331"></a>00331 
<a name="l00332"></a>00332 
<a name="l00333"></a>00333         }
<a name="l00334"></a>00334 
<a name="l00335"></a>00335         <span class="keyword">private</span> <span class="keywordtype">void</span> SetupPanels()
<a name="l00336"></a>00336         {
<a name="l00337"></a>00337             PanelList = <span class="keyword">new</span> List&lt;Panel&gt;();
<a name="l00338"></a>00338             PanelList.Add(<span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html" title="Contains the code for displaying text within the game panels.">Panel</a>(<span class="keyword">new</span> Point(1, 1), <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html">Visualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#aba38a4aa8e5873d34a12ba7298ed9121">GetScreenWidth</a>() - 2, 5));
<a name="l00339"></a>00339             PanelList.Add(<span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html" title="Contains the code for displaying text within the game panels.">Panel</a>(<span class="keyword">new</span> Point(1, 27), <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html">Visualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#aba38a4aa8e5873d34a12ba7298ed9121">GetScreenWidth</a>() - 2, 20));
<a name="l00340"></a>00340             PanelList.Add (<span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html" title="Contains the code for displaying text within the game panels.">Panel</a>(<span class="keyword">new</span> Point(1,5), 38, Constants.DungeonHeight + 2));
<a name="l00341"></a>00341             PanelList.Add ( <span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_panel.html" title="Contains the code for displaying text within the game panels.">Panel</a>(<span class="keyword">new</span> Point(60,5), 38, Constants.DungeonHeight + 2));
<a name="l00342"></a>00342         }
<a name="l00343"></a>00343 
<a name="l00344"></a>00344         <span class="keyword">private</span> <span class="keywordtype">void</span> ResetBools()
<a name="l00345"></a>00345         {
<a name="l00346"></a>00346             hasJumped = <span class="keyword">false</span>;
<a name="l00347"></a>00347             hasFired = <span class="keyword">false</span>;
<a name="l00348"></a>00348         }
<a name="l00349"></a>00349 
<a name="l00350"></a>00350         <span class="keyword">private</span> <span class="keywordtype">void</span> InitialDraw()
<a name="l00351"></a>00351         {
<a name="l00352"></a>00352             <span class="comment">//Swapping these two lines around stopped the flicker, no idea why!</span>
<a name="l00353"></a>00353             <span class="comment">//this draws the panels</span>
<a name="l00354"></a>00354             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a6c7074f866fef52dfee423881ff59aea">DungeonVisualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#a2d0f280f480ff5a227f4d8be84ad752a">ForceFullVisualization</a>(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>);
<a name="l00355"></a>00355             <span class="comment">//this does what it says on the tin. </span>
<a name="l00356"></a>00356             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#aa903455b047a3c9fab1e9eea6198a785" title="This is used to give the user a visual cue if something has changed but won&amp;#39;t be updated in time/...">ForceRedraw</a>();
<a name="l00357"></a>00357             DrawTitle();
<a name="l00358"></a>00358         }
<a name="l00359"></a>00359 
<a name="l00360"></a>00360         <span class="keyword">private</span> <span class="keywordtype">void</span> DrawTitle()
<a name="l00361"></a>00361         {
<a name="l00362"></a>00362             PanelList[0].Clear();
<a name="l00363"></a>00363             <span class="comment">//removed seed</span>
<a name="l00364"></a>00364             PanelList[0].Write(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html#a9919d7195d9beed7399ef1876d0caee0">ToString</a>(),0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center); 
<a name="l00365"></a>00365                 <span class="comment">//+ &quot;  Seed: &quot; + DungeonManager.Instance.Seed.ToString());</span>
<a name="l00366"></a>00366         }
<a name="l00367"></a>00367 
<a name="l00368"></a>00368         <span class="keyword">private</span> <span class="keyword">static</span> <span class="keywordtype">void</span> AddVictoryScreen()
<a name="l00369"></a>00369         {
<a name="l00370"></a>00370             <span class="comment">//TextScreen ts;</span>
<a name="l00371"></a>00371             <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#ab5fc5b0605adb14288d42fd76b8f4fda">PlayerHasWon</a>.Value)
<a name="l00372"></a>00372             { <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#a475ef30076cee3e3589c93b75adbefd0" title="A basic screen manager.">ScreenStack</a>.Push(<span class="keyword">new</span> TextScreen(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a15b31f5dc1e828c96b595ec09c426614">Texts</a>[<span class="stringliteral">&quot;Victory&quot;</span>])); }
<a name="l00373"></a>00373             <span class="keywordflow">else</span>
<a name="l00374"></a>00374             { <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html" title="Manages the game flow.">GameManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#add4a852b2c38073369c7629fb9aec9cc">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_game_manager.html#a475ef30076cee3e3589c93b75adbefd0" title="A basic screen manager.">ScreenStack</a>.Push(<span class="keyword">new</span> TextScreen(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a15b31f5dc1e828c96b595ec09c426614">Texts</a>[<span class="stringliteral">&quot;GameOver&quot;</span>])); }
<a name="l00375"></a>00375 
<a name="l00376"></a>00376         }
<a name="l00377"></a>00377 
<a name="l00378"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html#ad8931358253f8a2020c6074ad1183d42">00378</a>         <span class="keyword">public</span> <span class="keywordtype">void</span> ReDraw()
<a name="l00379"></a>00379         {
<a name="l00380"></a>00380             drawPanels = <span class="keyword">true</span>;
<a name="l00381"></a>00381             DrawTitle();
<a name="l00382"></a>00382             DoDraw();
<a name="l00383"></a>00383         }
<a name="l00384"></a>00384 
<a name="l00385"></a><a class="code" href="class_r_r_r_s_roguelike_1_1_screens_1_1_dungeon_screen.html#aa607d0012cbbd5567ef28b1f315b6cb4">00385</a>         <span class="keyword">public</span> <span class="keyword">override</span> <span class="keywordtype">void</span> Show()
<a name="l00386"></a>00386         {       
<a name="l00387"></a>00387                 Clear();
<a name="l00388"></a>00388             drawPanels = <span class="keyword">true</span>;
<a name="l00389"></a>00389             base.Show();
<a name="l00390"></a>00390             
<a name="l00391"></a>00391             StartGame(seed);
<a name="l00392"></a>00392             
<a name="l00393"></a>00393             <span class="comment">//MainGameLoop();</span>
<a name="l00394"></a>00394 
<a name="l00395"></a>00395         }
<a name="l00396"></a>00396 
<a name="l00397"></a>00397                 <span class="keywordtype">int</span> olduses;
<a name="l00398"></a>00398         <span class="keyword">private</span> <span class="keywordtype">void</span> DisplayHUD()
<a name="l00399"></a>00399         {
<a name="l00400"></a>00400             <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a1c0d99b7b7f07d21cce2dd1696af6206">Player</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#aa9ab9bb6e8ebaccb534a334a26e4923c">WeaponSlot</a> != null)
<a name="l00401"></a>00401             {
<a name="l00402"></a>00402                 
<a name="l00403"></a>00403                 <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_weapon.html">Weapon</a> w = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a1c0d99b7b7f07d21cce2dd1696af6206">Player</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_player.html#aa9ab9bb6e8ebaccb534a334a26e4923c">WeaponSlot</a>;
<a name="l00404"></a>00404                 
<a name="l00405"></a>00405                 <span class="keywordflow">if</span> (w.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_weapon.html#ad40a9a420580e8ea1b32f9aab6a9c8c1">UsesRemaining</a> != olduses)
<a name="l00406"></a>00406                 {
<a name="l00407"></a>00407                 StringBuilder sb = <span class="keyword">new</span> StringBuilder(w.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a59114a4db1e8381f58eeb6ebc6c80ee5">Name</a> + <span class="stringliteral">&quot;: &quot;</span>);                
<a name="l00408"></a>00408                 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; w.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_weapon.html#ad40a9a420580e8ea1b32f9aab6a9c8c1">UsesRemaining</a>; i++)
<a name="l00409"></a>00409                 {
<a name="l00410"></a>00410                     sb.Append(<span class="stringliteral">&quot;*&quot;</span>);
<a name="l00411"></a>00411                 }
<a name="l00412"></a>00412                 
<a name="l00413"></a>00413                 PanelList[1].Clear();
<a name="l00414"></a>00414                 PanelList[1].Write(sb.ToString(),0, ConsoleColor.White,<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00415"></a>00415                 }
<a name="l00416"></a>00416                 olduses = w.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_weapon.html#ad40a9a420580e8ea1b32f9aab6a9c8c1">UsesRemaining</a>;
<a name="l00417"></a>00417             }
<a name="l00418"></a>00418             <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!PanelList[1].IsClear)
<a name="l00419"></a>00419             {
<a name="l00420"></a>00420                 PanelList[1].Clear(<span class="keyword">true</span>);
<a name="l00421"></a>00421             }
<a name="l00422"></a>00422 
<a name="l00423"></a>00423         }
<a name="l00424"></a>00424 
<a name="l00425"></a>00425         <span class="keyword">private</span> <span class="keywordtype">void</span> CheckNewTile()
<a name="l00426"></a>00426         {
<a name="l00427"></a>00427             Point newPosition = <span class="keyword">new</span> Point(player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a8ddf4b00cc709b61518200f982136936">X</a>, player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a10f490fcfeae845ca890b39e032ca1aa">Y</a>);
<a name="l00428"></a>00428 
<a name="l00429"></a>00429             <span class="keywordflow">if</span>(!<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a8b4aa8dccad2a2034cbf5b52305df746">GodMode</a>)
<a name="l00430"></a>00430             <span class="comment">//Fight monster if there is one</span>
<a name="l00431"></a>00431             <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#aadb1c701211309ea41fb0c10b92056bb" title="Finds if a monster and player are on the same square then calls Fight This should make it easier to t...">CreatureCollisions</a>())
<a name="l00432"></a>00432             {
<a name="l00433"></a>00433                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a0cc23d92d5e5c486c15aa9cc92b01f9b">Redraw</a> = <span class="keyword">true</span>;
<a name="l00434"></a>00434             }
<a name="l00435"></a>00435 
<a name="l00436"></a>00436             <span class="comment">//auto pick up sword</span>
<a name="l00437"></a>00437             ActionHelper.Get(newPosition);
<a name="l00438"></a>00438 
<a name="l00439"></a>00439             <span class="comment">// auto take stairwell</span>
<a name="l00440"></a>00440             TakeStairWell(newPosition);
<a name="l00441"></a>00441         }
<a name="l00442"></a>00442         
<a name="l00443"></a>00443         <span class="keyword">private</span> <span class="keywordtype">void</span> TakeStairWell(Point newPosition)
<a name="l00444"></a>00444         {
<a name="l00445"></a>00445             <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>.GetTile(newPosition,<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#ae86f30eb6879a43425c0a95fd345dceb">Layers</a>.Prop) is <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_stairwell.html" title="Steps are the linking object between different dungeon levels.">Stairwell</a>)
<a name="l00446"></a>00446             {
<a name="l00447"></a>00447                 <span class="comment">//check for victory</span>
<a name="l00448"></a>00448                 <span class="keywordflow">if</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a7fa7fd5350e3b5fcf46cd00c1a63d41c" title="Holds the currentlevel. Very important.">CurrentDungeonLevel</a> &gt;= 5)
<a name="l00449"></a>00449                 {
<a name="l00450"></a>00450                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a44af40ea4c6a60594974f0aea6bde647">gameOver</a> = <span class="keyword">true</span>;
<a name="l00451"></a>00451                 }
<a name="l00452"></a>00452                 <span class="keywordflow">else</span>
<a name="l00453"></a>00453                 {
<a name="l00454"></a>00454                     MoveToNextLevel();
<a name="l00455"></a>00455                 }
<a name="l00456"></a>00456             }
<a name="l00457"></a>00457         }
<a name="l00458"></a>00458 
<a name="l00459"></a>00459         <span class="keyword">private</span> <span class="keywordtype">void</span> MoveToNextLevel()
<a name="l00460"></a>00460         {
<a name="l00461"></a>00461             hasJumped = <span class="keyword">false</span>;
<a name="l00462"></a>00462             hasFired = <span class="keyword">false</span>;
<a name="l00463"></a>00463 
<a name="l00464"></a>00464             <span class="comment">//no sword on next level. Murha, ha, ha, ha!!!</span>
<a name="l00465"></a>00465             <span class="comment">//player.Inventory.Clear();</span>
<a name="l00466"></a>00466             <span class="comment">//sword now has three uses</span>
<a name="l00467"></a>00467 
<a name="l00468"></a>00468             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a7fa7fd5350e3b5fcf46cd00c1a63d41c" title="Holds the currentlevel. Very important.">CurrentDungeonLevel</a>++;
<a name="l00469"></a>00469             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a01e249d90e88d0a2d70eabf01ee91372">Dungeon</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon.html#a3538ac8d32a5ff48b8eea62ddd076201">Levels</a>.Add(<span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html">DungeonLevel</a>(<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a7fa7fd5350e3b5fcf46cd00c1a63d41c" title="Holds the currentlevel. Very important.">CurrentDungeonLevel</a>, Constants.DungeonWidth, Constants.DungeonHeight));
<a name="l00470"></a>00470             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html#a36e9039d34883c511d065b94e3e22337">CreateRandomDungeonObjects</a>();
<a name="l00471"></a>00471             processMonsters = <span class="keyword">false</span>;
<a name="l00472"></a>00472             ReDraw();
<a name="l00473"></a>00473         }
<a name="l00474"></a>00474 
<a name="l00475"></a>00475         <span class="keyword">private</span> <span class="keywordtype">void</span> DoLook()
<a name="l00476"></a>00476         {
<a name="l00477"></a>00477             <span class="keywordtype">bool</span> newTile = <span class="keyword">false</span>;
<a name="l00478"></a>00478             <span class="keywordtype">bool</span> look = <span class="keyword">true</span>;
<a name="l00479"></a>00479             
<a name="l00480"></a>00480             <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html">Tile</a> lookTile = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a4fe7572b704fee4c72240470ab4477de">LookTile</a>;
<a name="l00481"></a>00481             
<a name="l00482"></a>00482             lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> = <span class="keyword">true</span>;
<a name="l00483"></a>00483             lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a> = player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>;
<a name="l00484"></a>00484 
<a name="l00485"></a>00485             <span class="keywordflow">while</span>(look)
<a name="l00486"></a>00486             {
<a name="l00487"></a>00487                 ActionManager ActionManager = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a03e6a7a4819710c00a58efe79b98c7ec">ActionManager</a>;
<a name="l00488"></a>00488                 GetInput();
<a name="l00489"></a>00489 
<a name="l00490"></a>00490                 <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.North))
<a name="l00491"></a>00491                 {lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a10f490fcfeae845ca890b39e032ca1aa">Y</a> -= 1;newTile = <span class="keyword">true</span>;}
<a name="l00492"></a>00492                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.South))
<a name="l00493"></a>00493                 {lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a10f490fcfeae845ca890b39e032ca1aa">Y</a> += 1;newTile = <span class="keyword">true</span>;}
<a name="l00494"></a>00494                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.East))
<a name="l00495"></a>00495                 {lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a8ddf4b00cc709b61518200f982136936">X</a> += 1;newTile = <span class="keyword">true</span>;}
<a name="l00496"></a>00496                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.West))
<a name="l00497"></a>00497                 {lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a8ddf4b00cc709b61518200f982136936">X</a> -= 1;newTile = <span class="keyword">true</span>;}
<a name="l00498"></a>00498                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Quit) || 
<a name="l00499"></a>00499                          ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Look))
<a name="l00500"></a>00500                 { 
<a name="l00501"></a>00501                         look = <span class="keyword">false</span>;
<a name="l00502"></a>00502                 }
<a name="l00503"></a>00503 
<a name="l00504"></a>00504                 <span class="keywordflow">if</span> (newTile)
<a name="l00505"></a>00505                 {
<a name="l00506"></a>00506                     <span class="comment">//limit</span>
<a name="l00507"></a>00507 
<a name="l00508"></a>00508                     lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a> = <a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html">DungeonLevel</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html#a6c955c872e3b14fb69e1a14baf15e7cb">ClampToDungeon</a>(lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>);
<a name="l00509"></a>00509 
<a name="l00510"></a>00510                     <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html">Tile</a> viewTile = (<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html">Tile</a>)<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>.GetTopTile(lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>);
<a name="l00511"></a>00511                     lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a501bdf83e347dba35803f928e0980c3c">ImageCharacter</a> = viewTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a501bdf83e347dba35803f928e0980c3c">ImageCharacter</a>;
<a name="l00512"></a>00512                     lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#acfb930a2c564fe3837d31891c4280c8a">Description</a> = viewTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#acfb930a2c564fe3837d31891c4280c8a">Description</a>;
<a name="l00513"></a>00513                     lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a27f22108c1b02060a7bc36d0e4c99ce8">Color</a> = ConsoleColor.Blue;
<a name="l00514"></a>00514                     lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#ab674ed4ae024eb1f4adb84a6fe13df1a">Background</a> = ConsoleColor.DarkCyan;
<a name="l00515"></a>00515                 
<a name="l00516"></a>00516                     <span class="keywordtype">string</span> description = <span class="stringliteral">&quot;A mystery object.&quot;</span>;
<a name="l00517"></a>00517 
<a name="l00518"></a>00518                     <span class="keywordflow">if</span> (viewTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#acfb930a2c564fe3837d31891c4280c8a">Description</a> != null)
<a name="l00519"></a>00519                         description = viewTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#acfb930a2c564fe3837d31891c4280c8a">Description</a>;
<a name="l00520"></a>00520 
<a name="l00521"></a>00521                     PanelList[1].Write(description,0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00522"></a>00522 
<a name="l00523"></a>00523                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#aa903455b047a3c9fab1e9eea6198a785" title="This is used to give the user a visual cue if something has changed but won&amp;#39;t be updated in time/...">ForceRedraw</a>();
<a name="l00524"></a>00524                     newTile = <span class="keyword">false</span>;
<a name="l00525"></a>00525                 }
<a name="l00526"></a>00526             <span class="comment">//Draw</span>
<a name="l00527"></a>00527             }
<a name="l00528"></a>00528             lookTile.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> = <span class="keyword">false</span>;
<a name="l00529"></a>00529             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#aa903455b047a3c9fab1e9eea6198a785" title="This is used to give the user a visual cue if something has changed but won&amp;#39;t be updated in time/...">ForceRedraw</a>();
<a name="l00530"></a>00530         }
<a name="l00531"></a>00531 
<a name="l00532"></a>00532         <span class="keyword">private</span> <span class="keywordtype">void</span> ShootFireball()
<a name="l00533"></a>00533         {
<a name="l00534"></a>00534                 ActionManager ActionManager = <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a03e6a7a4819710c00a58efe79b98c7ec">ActionManager</a>;
<a name="l00535"></a>00535             <span class="keywordtype">bool</span> shoot = <span class="keyword">true</span>;
<a name="l00536"></a>00536             PanelList[(int)<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a9e006e450a27fb4bf372c94305c2b350">Panels</a>.Bottom].Clear();
<a name="l00537"></a>00537             <span class="keywordflow">if</span> (!hasFired)
<a name="l00538"></a>00538             PanelList[(int)<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a9e006e450a27fb4bf372c94305c2b350">Panels</a>.Bottom].Write(<span class="stringliteral">&quot;Choose direction.&quot;</span>,0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00539"></a>00539             <span class="keywordflow">else</span>
<a name="l00540"></a>00540             PanelList[(int)<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a9e006e450a27fb4bf372c94305c2b350">Panels</a>.Bottom].Write(<span class="stringliteral">&quot;All used up!&quot;</span>,0, ConsoleColor.White, <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a074f816ee6ac63942a42444b79a3af00">TextAlignment</a>.Center);
<a name="l00541"></a>00541                 
<a name="l00542"></a>00542             <span class="keywordflow">while</span> (shoot)
<a name="l00543"></a>00543             {
<a name="l00544"></a>00544                 <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a> direction;
<a name="l00545"></a>00545                 GetInput();
<a name="l00546"></a>00546                 direction = GetDirection();
<a name="l00547"></a>00547                 <span class="keywordflow">if</span> (direction != <a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a050a7612561f3cc9bf8f4e0b4ef65ffd">Direction</a>.Wait &amp;&amp; !hasFired)
<a name="l00548"></a>00548                 {
<a name="l00549"></a>00549                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a9c05d7d672ffe1129dfaee0cbd50bf5a">Fireball</a> = <span class="keyword">new</span> <a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html">Fireball</a>(player.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>, direction);
<a name="l00550"></a>00550                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a9c05d7d672ffe1129dfaee0cbd50bf5a">Fireball</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html#a9c7bf81db32e2581df5d9eac4145d6c6">Reset</a>();
<a name="l00551"></a>00551                     hasFired = <span class="keyword">true</span>;
<a name="l00552"></a>00552                     shoot = <span class="keyword">false</span>;
<a name="l00553"></a>00553                 }
<a name="l00554"></a>00554                 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Quit) || 
<a name="l00555"></a>00555                          ActionManager.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_action_manager.html#ad17a4a6c98b49922f7bd3c826e608a8b">IsActionPushed</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a4d0e9be44cf1874ed489567fe841d5ba">Actions</a>.Shoot))
<a name="l00556"></a>00556                    processMonsters = playerMoved = shoot = <span class="keyword">false</span>;
<a name="l00557"></a>00557                 
<a name="l00558"></a>00558             }
<a name="l00559"></a>00559         }
<a name="l00560"></a>00560         
<a name="l00561"></a>00561         <span class="keyword">private</span> <span class="keyword">static</span> <span class="keywordtype">void</span> ProcessFireball(<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html">Fireball</a> fireball)
<a name="l00562"></a>00562         {
<a name="l00563"></a>00563             <span class="keywordflow">while</span> (fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> &amp;&amp; <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a153894d557cbbe812c82405ab50c1190">DungeonLevel</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_dungeon_level.html#a76fc0aa98acb7b7df1b071c2524f689d">IsOKToMove</a>(fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>))
<a name="l00564"></a>00564             {
<a name="l00565"></a>00565                 fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html#a6e2e817ae325355df8581551df593947">range</a>--;
<a name="l00566"></a>00566                 <span class="comment">//Do fireball stuff</span>
<a name="l00567"></a>00567                 <span class="comment">//DungeonManager.Instance.PropManager.Fireball</span>
<a name="l00568"></a>00568                 <span class="comment">//Fireball move</span>
<a name="l00569"></a>00569                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a9c05d7d672ffe1129dfaee0cbd50bf5a">Fireball</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#af2e7b23a5122c0754b79e15f73278c9d">Move</a>(fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a86897af78d00bad72fa19729a41288e2">Position</a>, fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html#a9604647032ef31b838d447fadb83459d">Direction</a>, 1);
<a name="l00570"></a>00570                 <span class="comment">//Fireball kill monsters</span>
<a name="l00571"></a>00571                 List&lt;Monster&gt; monstersInBattle = 
<a name="l00572"></a>00572                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a032b2a4318bea0e18848c7c6c0dea2eb">CreatureManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_creature_manager.html#a0a2b3d9c97fa4a31b562a5d7e44e9568">Monsters</a>.Where(m =&gt; m.X == fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a8ddf4b00cc709b61518200f982136936">X</a> &amp;&amp; m.Y == fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a10f490fcfeae845ca890b39e032ca1aa">Y</a>).ToList();
<a name="l00573"></a>00573                 <span class="keywordflow">foreach</span> (<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_monster.html" title="Represents the current sole bad guy.">Monster</a> m <span class="keywordflow">in</span> monstersInBattle)
<a name="l00574"></a>00574                 {
<a name="l00575"></a>00575                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#afac6a7563b6c3157cfe46668ee13ffd0">Kill</a>(m);
<a name="l00576"></a>00576 
<a name="l00577"></a>00577                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#abcfb58642d352807c3bed1c2563bd07e" title="Makes the Soundmanager call cleaner in other classes.">PlaySound</a>(<a class="code" href="namespace_r_r_r_s_roguelike_1_1_enums.html#a54345c56384327c1be12d5bd380322ee">SoundList</a>.Battle);
<a name="l00578"></a>00578 
<a name="l00579"></a>00579                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a501bdf83e347dba35803f928e0980c3c">ImageCharacter</a> = <span class="stringliteral">&quot;*&quot;</span>;
<a name="l00580"></a>00580 
<a name="l00581"></a>00581                     <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a6c7074f866fef52dfee423881ff59aea">DungeonVisualizer</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_helpers_1_1_visualizer_1_1_visualizer.html#ae534e209f99b2fdd4f37422627717783">Flash</a>(fireball);
<a name="l00582"></a>00582 
<a name="l00583"></a>00583                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a501bdf83e347dba35803f928e0980c3c">ImageCharacter</a> = <span class="stringliteral">&quot;o&quot;</span>;
<a name="l00584"></a>00584                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a27f22108c1b02060a7bc36d0e4c99ce8">Color</a> = ConsoleColor.Magenta;
<a name="l00585"></a>00585                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> = <span class="keyword">false</span>;
<a name="l00586"></a>00586                 }
<a name="l00587"></a>00587                 <span class="keywordflow">if</span> (fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_fireball.html#a6e2e817ae325355df8581551df593947">range</a> == 0)
<a name="l00588"></a>00588                     fireball.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> = <span class="keyword">false</span>;
<a name="l00589"></a>00589 
<a name="l00590"></a>00590                 <span class="comment">//Draw</span>
<a name="l00591"></a>00591                 <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#aa903455b047a3c9fab1e9eea6198a785" title="This is used to give the user a visual cue if something has changed but won&amp;#39;t be updated in time/...">ForceRedraw</a>();
<a name="l00592"></a>00592 
<a name="l00593"></a>00593             }
<a name="l00594"></a>00594             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a1607a4a934c759058d8bef8629b1f05a">PropManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_prop_manager.html#a9c05d7d672ffe1129dfaee0cbd50bf5a">Fireball</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_entities_1_1_tile.html#a516855caa20850fdae5fbe79f0e0353d">Active</a> = <span class="keyword">false</span>;
<a name="l00595"></a>00595             <a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html">DungeonManager</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a40f88229b94caf12eff9ea88f1d0b72f">Instance</a>.<a class="code" href="class_r_r_r_s_roguelike_1_1_managers_1_1_dungeon_manager.html#a0cc23d92d5e5c486c15aa9cc92b01f9b">Redraw</a> = <span class="keyword">true</span>;
<a name="l00596"></a>00596         }
<a name="l00597"></a>00597         
<a name="l00598"></a>00598         <span class="keyword">private</span> <span class="keywordtype">void</span> updateUses(<span class="keywordtype">object</span> sender, EventArgs e)
<a name="l00599"></a>00599         {
<a name="l00600"></a>00600                 olduses =-1;
<a name="l00601"></a>00601         }
<a name="l00602"></a>00602         
<a name="l00603"></a>00603 <span class="preprocessor">        #endregion</span>
<a name="l00604"></a>00604 <span class="preprocessor"></span>
<a name="l00605"></a>00605     }
<a name="l00606"></a>00606 }
</pre></div></div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address class="footer"><small>Generated on Tue Sep 4 2012 06:25:49 for RRRSRoguelike by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>
